/***********************************************************************
 * Module:  Command.java
 * Author:  Nikola
 * Purpose: Defines the Class Command
 ***********************************************************************/

package genedit.controller;

import genedit.view.graph.GraphDocumentView;

public abstract class Command {
	protected boolean undoable;

	private GraphDocumentView document;

	/** @param isUndoable */
	public Command(boolean isUndoable) {
		this.undoable = isUndoable;
	}

	public boolean getUndoable() {
		return undoable;
	}

	public abstract void execute();

	public void undo() {
		// TODO: implement
	}

	/** @pdGenerated default parent getter */
	public GraphDocumentView getDocument() {
		return document;
	}

	/**
	 * @pdGenerated default parent setter
	 * @param newGraphDocumentView
	 */
	public void setDocument(GraphDocumentView newGraphDocumentView) {
		this.document = newGraphDocumentView;
	}

}